iT邦幫忙

DAY 29
2

程式學習雜記系列 第 25

2013IT鐵人賽-29-Java12-改變程式執行的流程break, continue

  • 分享至 

  • xImage
  •  

2013IT鐵人賽-29-Java12-改變程式執行的流程break, continue

2013IT鐵人賽-29-Java12-改變程式執行的流程break, continue

前一篇的文章 2013IT鐵人賽-27-Java11-迴圈敘述 我們介紹了迴圈敘述, 使用了 for / while / do ~ while 的方式來執行迴圈敘述. 今天我們來練習如何改變程式執行的流程.

原則上迴圈的執行都有一定的流程, 但是有的時候為了需求可能會變更執行的流程. 今天我們就來練習 break 以及 continue 兩個指令.

break 指令主要用來強制結束程式, 並跳出迴圈.

語法如下:

break;

今天我的練習在第2個裝置練習(請見 2013IT鐵人賽-16-git04-git基礎練習git pull 與第2裝置使用 的內容).

首先進入我們的 git 資料夾 /home/max/2013ironman (請按自己的設定調整 git 所在資料夾)[color=red]

cd /home/max/2013ironman

將 GitHub 上面的資料同步回來

git [color=red]pull origin master

From https://github.com/sakanamax/2013ironman
 * branch            master     -> FETCH_HEAD
Already up-to-date.

那我們就開始練習吧 ^_^

進入到 java 的練習資料夾

cd /home/max/2013ironman/java/

建立一個 java 原始檔如下

cat Basic_018_break.java

//這個範例我們練習利用 break 終止迴圈
//這邊嘗試匯入 java.io.* 來使用BufferReader


import java.io.*;
class Basic_018_break {
// 這邊因為使用BufferReader, 所以要 throws IOException
 public static void main(String[] args) throws IOException
 {
  System.out.println("請問要在第幾次終止迴圈呢? (1 ~ 10)");
  //產生一個 BufferedReader br 來接收輸入
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  //str 由BufferedReader 的redLine()來取得使用者輸入的資料
  String str = br.readLine();
  //將str 轉成整數, 並宣告給 int 變數 num
  int num = Integer.parseInt(str);
  //建立一個 for 迴圈
  for (int i=1; i <= 10; i++)
  {
   System.out.println("第"+i+"次的迴圈");
   //如果 i 的值 等於 num 的值, 就執行 break 跳出迴圈
   if ( i == num )
   {
    break;
   }
  }


 }


}

編譯我們剛剛寫的 java 程式

javac Basic_018_break.java

執行剛剛的程式

java Basic_018_break

這邊可以看到, 如果我們輸入 8 就會在第8次的迴圈終止. ^__^

接下來我們來練習 continue
continue 指令可以讓目前執行中的迴圈暫時停住不往下執行. 然後回到迴圈繼續下一個執行.

語法如下:

continue;

建立一個 java 原始檔如下

cat Basic_019_continue.java

//這個範例我們使用 continue 來練習改變迴圈執行流程
//這邊嘗試匯入 java.io.* 來使用BufferReader
import java.io.*;
class Basic_019_continue {
// 這邊因為使用BufferReader, 所以要 throws IOException
 public static void main(String[] args) throws IOException
 {
  System.out.println("要跳過第幾次的處理 (1~10)");
  ////產生一個 BufferedReader br 來接收輸入
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  //str 由BufferedReader 的redLine()來取得使用者輸入的資料
  String str = br.readLine();
  //將str 轉成整數, 並宣告給 int 變數 res
  int res = Integer.parseInt(str);
  //建立一個 for 迴圈
  for (int i=1; i<=10; i++)
  {
   if ( i == res)
   {
    //continue 會暫時停止執行, 然後回到迴圈
    continue;
   }
   System.out.println("第"+i+"次的處理次的處理");
  }


 }


}

編譯我們剛剛寫的 java 程式

javac Basic_019_continue.java

執行剛剛的程式

java Basic_019_continue

這邊可以看到, 如果我們輸入 4 就會在第4次跳過執行指令. ^__^

準備將相關檔案傳送到 GitHub 上面

cd /home/max/2013ironman/
git add java/*
git commit -m "Add java break, continue files"

[master d158645] Add java break, continue files
 4 files changed, 57 insertions(+)
 create mode 100644 java/Basic_018_break.class
 create mode 100644 java/Basic_018_break.java
 create mode 100644 java/Basic_019_continue.class
 create mode 100644 java/Basic_019_continue.java

git push origin master

Username for 'https://github.com': 您的帳號
Password for 'https://sakanamax@github.com':  您的密碼
Counting objects: 9, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 2.28 KiB, done.
Total 7 (delta 3), reused 0 (delta 0)
To https://github.com/sakanamax/2013ironman.git
   634430f..d158645  master -> master

完成今天的練習 :-)

Fun with Day 29 ~


上一篇
2013IT鐵人賽-28-Android03-Android程式專案架構
下一篇
2013IT鐵人賽-30-程式學習雜記-完成挑戰
系列文
程式學習雜記26
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言